#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
#include<assert.h>
using namespace std;

//class string
//{
//public:
//	char& operator[](size_t i)
//	{
//		assert(i < _size);
//		return _str[i];
//	}
//private:
//	char* _str;
//	size_t _size;
//	size_t _capacity;
//};
int main()
{
	string s1("hello world");
	string s2(s1);
	cout << s1 << endl;
	cout << s2 << endl;

	string s3(s2, 6);
	cout << s3 <<endl;
	string s4("hello world", 5);
	cout << s4 << endl;
	string s5(10, 'x');
	cout << s5 << endl;

	s5[0] = 'h';
	cout << s5 << endl;

	return 0;
}